二层网络

功能概述

一个二层网络即一个广播域,比如一个VLAN,物理交换机和虚拟网桥为二层网络提供连通和转发。一个二层网络可以承载多个三层网络,为保证网络稳定和网络服务的正常运行,建议一个二层网络只绑定一个三层网络。

二层网络需要交换机提供二层转发通道,物理机接入交换机端口配置主要有三种模式:Access、Trunk、Hybrid。建议管理、业务、存储统一使用Trunk模式便于网络扩展,比如可以使用Trunk+PVID代替Access。ZStack Cloud二层网络支持四种类型:L2NoVlanNetwork、L2VlanNetwork、VxlanNetwork、HardwareVxlanNetwork。每种网络类型特点如下:

  • L2NoVlanNetwork

    • 必须指定物理机的接口名称。
    • 挂载的集群内物理机必须都存在相同的接口。
    • 云主机的流量经过物理机接口到达物理交换机时,不携带VLAN标签。
    • 创建L2NoVlanNetwork,会根据指定的物理机接口创建网桥。
    • 物理交换机端口建议配置Trunk PVID模式,且Trunk允许转发的VLAN需包含PVID使用的VLAN ID。
  • L2VlanNetwork

    • 必须指定物理机的接口名称和VLAN ID。
    • 挂载的集群内物理机必须都存在相同的接口。
    • 云主机的流量经过物理机接口到达物理交换机时,携带用户指定的VLAN ID。
    • 创建L2VlanNetwork,会根据指定的VLAN ID创建VLAN设备,并基于此VLAN设备创建网桥。
    • 物理交换机接口建议配置Trunk模式,且Trunk允许转发的VLAN需包含当前使用的VLAN ID。
  • VxlanNetwork

    • VXLAN是一种Overlay技术,方便用户创建一个大二层网络,它最大支持的逻辑网络数量16M。
    • VxlanNetwork是一种基于软件VXLAN的解决方案。
    • 必须指定一个软件SDN类型的VXLAN Pool,一个VxlanNetwork对应VXLAN Pool里的一个VNI。
    • 挂载的集群内物理机的VTEP IP必须都属于当前指定的VXLAN Pool。
    • 云主机的流量经过物理机时,物理机给该云主机流量加上VXLAN信息,然后发送到物理交换机。
  • HardwareVxlanNetwork

    • VXLAN是一种Overlay 技术,方便用户创建一个大二层网络,它最大支持的逻辑网络数量为16M。
    • HardwareVxlanNetwork是一种对接第三方硬件SDN的解决方案。
    • 必须指定一个硬件SDN类型的VXLAN Pool,一个HardwareVxlanNetwork对应VXLAN Pool里的一个VNI。
    • 云主机的流量经过物理机接口到达虚拟分布式交换机时,携带用户指定的VLAN ID;VLAN ID与VXLAN ID直接的映射关系由SDN控制器决定。

最佳实践

  • 优先使用L2VlanNetwork,普遍支持、性能较好,可以满足大多数场景。VxlanNetwork需要配合网卡Vxlan offload能力使用,否则网络吞吐明显降低、延迟也要比 VLAN 高。
  • HardwareVxlanNetwork可以在交换机侧将 VXLAN offload 为 VLAN,从而获得性能优势,如果软件 SDN 有网卡 offload 的话,性能比较接近,建议使用VxlanNetwork时搭配专用网卡。
  • 使用VXLAN网络之前请先规划VTEP网络、为物理机配置VTEP IP地址,并保证集群内VTEP IP地址可以互通。

注意事项

  • L2NoVlanNetwork:用户业务流量从物理机网卡出去到物理网络,不打vlan标签。从物理网络进入物理机网卡的流量也不打vlan标签。

  • L2VlanNetwork:用户业务流量从物理机网卡出去到物理网络,打vlan标签。从物理网络进入物理机网卡的流量也打vlan标签。

  • VxlanNetwork:用户业务流量从物理机网卡出去到物理网络,在物理机上完成Vxlan封装。从物理网络进入物理机网卡的流量也需要进行剥离vxlan封装。

  • HardwareVxlanNetwork:用户业务流量从物理机网卡出去到物理网络,打vlan标签,由交换机进行Vxlan封装。从物理网络进入物理机网卡的流量,物理机先剥离Vxlan封装。 ZStack平台和SDN控制器之间需要做好Vlan和Vxlan的映射,具体映射方式和SDN控制器有关。

  • 使用二层网络之前还需要把二层网络加载到集群。

  • 一般情况下,创建二层网络时虚拟机交换机类型选择Linux Bridge,在使用了智能网卡的环境中,才可选择OVS-DPDK。

  • 同一个集群二层网络规划须一致、交换机端口配置须统一,否则可能导致部分物理机上云主机网络不通。

  • 单物理机大量二层网络加载会慢,物理机iptables/ebtables也会存在压力。
  • 添加物理机时,如果物理机所在集群已经挂载二层网络,则会检查此物理机上的网卡是否存在此二层网络对应的物理设备(比如bond1),如果不存在则会报错。
  • 物理机bond名称建议统一配置成管理bond0、业务bond1、存储bond2,可以避免为集群挂载二层网络时网络错乱或不通。
  • 针对已经存在物理机的集群,挂载二层网络时,会检查集群内所有物理机的网卡是否存在此二层网络对应的物理设备(比如bond1),如果有任一物理机不存在此设备,则会报错。
  • 如果使用Ceph存储的存储网络原本没有配置网桥,后又需要使用存储网络创建云主机,在挂载二层网络前,需要手动在每台物理机上配置网桥,并对网桥配置IP,否则会导致Ceph存储平台全部不可用,影响所有云主机的业务。
  • 卸载或删除二层网络,联动删除该集群上所有业务云主机网卡,前面影响云主机业务,请谨慎操作。
  • 基于一个二层网络创建多个三层网络请注意:
    • 使用UserData时,若一个二层网络下有多个三层网络,且这些三层网络属于同一个CIDR,仅第一个三层网络的UserData工作,因此会导致其他网络下的云主机内部监控无法正常工作。
    • 如果两个三层网络CIDR不重叠,则内部监控可以使用,UserData数据注入也可以正常使用。
    • 云平台复用CIDR限制条件:不能在同一个二层网络下并且不能在同一个VPC路由器下。

results matching ""

    No results matching ""